我们都知道十进制转二进制的算法是被除数除2后得出的余数都是从下往上读出的一串数字就是二进制所以我们利用Deque的堆栈数据存储结构:先进后出的形式,Deque的实现主要用LinkedList实现.
现在我们来看代码:
public class StackDemo {
public static void main(String[] args) {
//定义一个需要转二进制的十进制数
int num = 32;
//我们需要一个堆栈类来存储二进制数
Deque stack = new LinkedList();
do{
//获得除2后的余数
int mod =num % 2;
//对被除数重新赋值
num =num /2;
//stack存入余数mod
stack.push(mod);
}while(num>0);//被除数等于0时 结束算法
System.out.print("该十进制数转二进制数为:-----------");
//遍历stack中的数据
while(!stack.isEmpty()){
System.out.print(stack.pop());
}
}
}